51 research outputs found

    Actors that Unify Threads and Events

    Get PDF
    There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer. In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM

    Implementing Joins using Extensible Pattern Matching

    Get PDF
    Join patterns are an attractive declarative way to synchronize both threads and asynchronous distributed computations. We explore joins in the context of extensible pattern matching that recently appeared in languages such as F# and Scala. Our implementation supports join patterns with multiple synchronous events, and guards. Furthermore, we integrated joins into an existing actor-based concurrency framework. It enables join patterns to be used in the context of more advanced synchronization modes, such as future-type message sending and token-passing continuations

    Compositional Construction of Real-Time Dataflow Networks

    No full text
    Increasing sizes of present-day distributed software systems call for coordination models which are both \emph{modular} and \emph{scalable}. Precise modelling of real-life applications further requires the notion of \emph{real-time}. In this paper, we present a modular formal development of a compositional model for real-time coordination in dataflow networks. While real-time dataflow networks are typically asynchronous, our approach includes coordination patterns which combine, but are not limited to, synchrony and asynchrony. We define a constraint- and SAT-based encoding, which allows us to benefit from high-end constraint solving techniques when inspecting valid interactions of the system

    SACO: Static analyzer for concurrent objects

    Get PDF
    We present the main concepts, usage and implementation of SACO, a static analyzer for concurrent objects. Interestingly, SACO is able to infer both liveness(namely termination and resource boundedness) and safety properties (namely deadlock freedom) of programs based on concurrent objects. The system integrates auxiliary analyses such as points-to and may-happen-in-parallel, which are essential for increasing the accuracy of the aforementioned more complex properties. SACO provides accurate information about the dependencies which may introduce deadlocks, loops whose termination is not guaranteed, and upper bounds on the resource consumption of methods

    Actor- and Task-Selection Strategies for Pruning Redundant State-Exploration in Testing

    Get PDF
    Testing concurrent systems requires exploring all possible non-deterministic interleavings that the concurrent execution may have. This is because any of the interleavings may reveal the erroneous behaviour. In testing of actor systems, we can distinguish two sources of non-determinism: (1) actor-selection, the order in which actors are explored and (2) task-selection, the order in which the tasks within each actor are explored. This paper provides new strategies and heuristics for pruning redundant state-exploration when testing actor systems by reducing the amount of unnecessary non-determinism. First, we propose a method and heuristics for actor-selection based on tracking the amount and the type of interactions among actors. Second, we can avoid further redundant interleavings in task-selection by taking into account the access to the shared-memory that the tasks make

    Not Available

    No full text
    Not AvailableAn experiment was conducted during winter season of 2014-15 at Tarnak Research Farm of Afghanistan National Agricultural Sciences and Technology University (ANASTU), Kandahar, Afghanistan. Soil of the experimental site was sandy clay loam in texture with slightly alkaline (pH 8.3) in reaction having cation-exchange capacity of 80.58 meq 100g–1 and electrical conductivity of 0.21 dSm–1. The initial N, P and K contents were in low to medium range. The treatments consisted of seven nitrogen rates viz., 0, 80, 100, 120, 140, 160 and 180 kg ha–1 was replicated thrice using a RCBD. Significantly higher growth parameters viz., plant height (85.1 cm), dry matter production (2882 g m–2), number of tillers m–2 (335) and number of spikes–1 (321) were recorded with application of 180 kg N ha–1 in comparison with other N rates. Yield attributing characteristics viz., spike length (12 cm), spikelets spike–1 (20.3), grains spike–1 (46.6), weight of single spike (2.5 g), grain weight spike (1.83 g) and 1000-grain weight (39.2 g) as well as grain yield (4.47 t ha–1), biological yield (10.9 t ha–1) and harvest index (41%) were significantly higher with application of 160 kg N ha–1 than other higher and lower N rates.Not Availabl
    • 

    corecore